//
// Created by sjjmw on 2/23/2022.
//

#pragma clang diagnostic push
#pragma ide diagnostic ignored "EndlessLoop"
#ifndef LEETCODE__17_H
#define LEETCODE__17_H

//todo
// 假设有k个人质和k个绑匪围成一圈。人质的编号从1到k，绑匪的编号从k+1到2k。
// 从编号1开始，每次从其中选出第m个人(隔m-1选出一人)出列。
// 希望求出m的最小值，使得最先出列的k个人都是绑匪，即都是编号从k+1到2k的人。
#include "iostream"
#include "vector"

int main(){

    int l;
    while(scanf("%d",&l)!=EOF){
        std::vector<int> tag(9);
        int left_cnt=l;

        int n=9;
        while(left_cnt){
            for(int i=0;i<9;i++){
                std::cin>>tag[i];
            }
            int cnt=0;
            for(int i=0;i<n;i++){
                int64_t num1=0;
                for(int j=i;j<i+n;j++){
                    int index=j%n;
                    num1+=tag[index];
                    num1*=10;
                }
                num1/=10;

                int64_t num2=0;
                for(int j=i+n-1;j>=i;j--){
                    int index=j%n;
                    num2+=tag[index];
                    num2*=10;
                }
                num2/=10;
                if(abs(num1-num2)%396==0){
                    cnt++;
                }
            }
            printf("%d\n",cnt);
            left_cnt--;
        }
    }
    //    while(1){}
    return 0;
}


#endif //LEETCODE__17_H

#pragma clang diagnostic pop